#ifndef _TASKTEST_H_
#define _TASKTEST_H_

#include <cppunit/Test.h>
#include <cppunit/TestAssert.h>
#include <cppunit/TestCaller.h>
#include <cppunit/TestFixture.h>
#include <cppunit/TestSuite.h>
#include <cppunit/Exception.h>
#include <cppunit/extensions/HelperMacros.h>

#include <cstdlib>

#include "task.h"

#include "grid.h"


class TaskTest : public CppUnit::TestFixture {

	CPPUNIT_TEST_SUITE( TaskTest );
	CPPUNIT_TEST( testGetNumberOfReplicas);
	CPPUNIT_TEST( testGetName);	
	CPPUNIT_TEST( testGetDataInputOutput);	
   	CPPUNIT_TEST( testReplicate);	
   	CPPUNIT_TEST( testGetCost);
   	CPPUNIT_TEST( testClearReplicas ) ;  
   	CPPUNIT_TEST (testNotScheduled);
	CPPUNIT_TEST_SUITE_END();
	

	private:
		Task *task;
	public:
		void setUp(); 
		
		/*Test Cases*/
		void testGetNumberOfReplicas();
		void testGetName();
		void testGetDataInputOutput();
		void testReplicate();
		void testGetCost();		
		void testClearReplicas();
		void testNotScheduled();
		/////////////
		
		void tearDown();

	
};

#endif //_TASKTEST_H_
